package com.lhkj.ct.meta.modules.recycle.common.constant;


import com.baomidou.mybatisplus.annotation.EnumValue;
import com.baomidou.mybatisplus.annotation.IEnum;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.lhkj.ct.base.mybatis.IBaseEntity;
import com.lhkj.ct.meta.modules.gauge.mapper.QnrMapper;
import com.lhkj.ct.meta.modules.gauge.mapper.ScaleMapper;
import com.lhkj.ct.meta.modules.patient.mapper.PatientMapper;
import com.lhkj.ct.meta.modules.psychology.mapper.GroupReportMapper;
import com.lhkj.ct.meta.modules.psychology.mapper.ScaleReportMapper;


/**
 * 回收站类型
 */
public enum RecycleType implements IEnum<Integer> {

    PATIENT(0,"档案管理", PatientMapper.class),


    SCALE(1,"量表配置", ScaleMapper.class),

    SCALE_REPORT(2,"测验报告", ScaleReportMapper.class),

    GROUP_REPORT(3,"团体报告", GroupReportMapper.class),

    QUESTIONNAIRE(4,"问卷配置", QnrMapper.class),

//    ANSWER_RECORD(5,"作答记录", WJJGDao.class)
    ;

    @EnumValue
    private final Integer code;

    private final String name;

    private final Class<? extends BaseMapper<? extends IBaseEntity<?>>> mapper;

    RecycleType(Integer code, String name, Class<? extends BaseMapper<? extends IBaseEntity<?>>> mapper) {
        this.code = code;
        this.name = name;
        this.mapper = mapper;
    }

    @Override
    public Integer getValue() { return code; }

    public String getName() {
        return name;
    }

    public Class<? extends BaseMapper<? extends IBaseEntity<?>>> getMapper() {
        return mapper;
    }

}
